package org.example.design.memo;

/**
 * @Classname ConfigOriginator
 * @Description 记录者类
 * @Date 2020/11/10 3:00 下午
 * @Created by xiangjd
 */
public class ConfigOriginator {
    private ConfigFile configFile;

    public ConfigFile getConfigFile() {
        return configFile;
    }

    public void setConfigFile(ConfigFile configFile) {
        this.configFile = configFile;
    }

    /**
     * 保存备忘录
     *  ps 保存备忘录的时候会创建一个备忘录信息，并返回回去，交给管理者处理。
     * @return
     */
    public ConfigMemento saveMemento() {
        return new ConfigMemento(configFile);
    }

    /**
     * 得到备忘录
     * ps 获取的之后并不是直接返回，而是把备忘录的信息交给现在的配置文件this.configFile，这部分需要注意。
     * @param configMemento
     */
    public void getMemento(ConfigMemento configMemento) {
        this.configFile = configMemento.getConfigFile();
    }
}
